home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Experimental BBS Explossion 3
/
Experimental BBS Explossion III.iso
/
graphics
/
rotor20.zip
/
ROTOR20.SCR
< prev
Wrap
Text File
|
1993-07-09
|
10KB
|
414 lines
. =========================================
. R O T O R S C R I P T
. =========================================
. Copyright 1991..1993 by Michel Robert
. version date: 12/15/1992
. -----------------------------------------
. debugging reports - disabled by .
. -----------------------------------------
. report file ON
. report macrolist On
. report proclist ON
. report cmdlist On
. report DO_calls On
. For execution traces, breaks and watches
. use DEBUG SHOW, PAUSE, MESSAGE.
. -----------------------------------------
. configuration section
. -----------------------------------------
. clean intro
switch SHAPE OFF
switch CURSOR OFF square
beep
. message Press ENTER to start
. -----------------------------------------
. RESET macro - foreground
. -----------------------------------------
. Use this to return curranet object to
. start-up defaults
macro Reset
defaults
update
option mouse on
done
end
. -----------------------------------------
. PAINT macro - foreground
. -----------------------------------------
. Set-up ROTOR for painting
macro Paint
switch shape off
switch cursor off
size zone workarea
switch zone off
update
option mouse on
menu status
menu icon
done
end
. -----------------------------------------
. BORDER macro - foreground
. -----------------------------------------
. Uses current shape to draw a fitted border
procedure borderstep
cycle 1
stamp
end
macro border
switch SHAPE OFF
duplicate
size zone fitted
switch SHAPE ON
switch ZONE OFF
. switch ROLL ON sync 0
switch VEER OFF nc 270
switch GO ON edge
position cursor TL
move cursor up 1
update
do borderstep until TL
kill
switch SHAPE ON
done
end
. -----------------------------------------
. CORNERS macro - foreground
. -----------------------------------------
. Stamps current shape in all 4 corners of
. its zone
macro corners
switch SHAPE OFF
duplicate
switch JOIN OFF
switch SHAPE ON
switch FILL ON opaque
switch TILT ON
dec shape_tilt 45
position cursor TL
update
stamp
inc shape_tilt 90
position cursor TR
update
stamp
inc shape_tilt 90
position cursor BR
update
stamp
inc shape_tilt 90
position cursor BL
update
stamp
inc shape_tilt 135
kill
switch SHAPE ON
update
done
end
. -----------------------------------------
. SHADOWED macro - background
. -----------------------------------------
. For shapes with a shadow.
. Only works if DRAW isON
macro Shadowed
if [PAUSE] or NOT'[DRAW] do exit
duplicate
switch shape on
switch fill on nc 0
switch line off
switch go off exit
switch pave off
. this specifies shadow offset
moveby cursor 15 15
update
stamp
kill
end
. -----------------------------------------
. SPIROGRAPH macro - setup
. -----------------------------------------
. Adjust roll, tilt, and offset to customize
macro Spirograph
switch cursor OFF
position cursor center
size cursor to_WAreaH
size cursor Halved
pulse Shrink OFF
switch Shape OFF polygon 1
switch Join ON
switch Roll ON regular
pulse Roll ON upward 7
switch Tilt ON
pulse Tilt ON upward 8
switch offset ON nc %cursor_rad%
size cursor to_WAreaH
dec cursor_rad 30
update
switch draw ON
option mouse off
menu pose
done
end
. -----------------------------------------
. UNMATCH_COLORS macro - background
. -----------------------------------------
. Guarantees different line and fill colors
. when FILL is ON
procedure next_linecolor
inc line_color
end
macro Unmatch_colors
if [FILL] and %line_color%=%fill_color% do next_linecolor
update
end
. -----------------------------------------
. simple macros - foreground
. -----------------------------------------
. Flying bird demo
macro Bird
defaults
switch SHAPE ON bird 1
pulse SHAPE ON upward 1
switch GO ON thru 15
switch ROLL OFF
switch CURSOR OFF
set line_color 6
position cursor left
move cursor right
set cursor_rad 70
set shrinkage %cursor_rad%
update
done
end
. disable/enable mouse
macro Mouse~
option MOUSE toggle
done
end
. Old ROTOR toggle
macro Rotor~
pulse ROLL TOGGLE
. switch ROLL [ROLL]
update
done
end
. Old PULSE toggle
macro Pulse~
pulse SHRINK toggle
update
done
end
. Synchronized ROTOR and PULSE toggles
macro Vortex~
pulse SHRINK toggle nc
pulse ROLL [~SHRINK]
update
done
end
. -----------------------------------------
. simple macros - background
. -----------------------------------------
. Wiping motion
macro Wipe
if [PAUSE] or NOT'[ROLL] or [~ROLL] do exit
set count 360
dec count %global_tilt%
set global_tilt %count%
update
end
. Alternating TILT
macro tilt_Notilt
if [PAUSE] do exit
switch TILT toggle
end
. Motion special FX
macro crenelled-pave
if [PAUSE] do exit
switch PAVE ON
switch GO ON
update
move cursor dec90
cycle 2
move cursor inc90
cycle 2
move cursor inc90
cycle 2
move cursor dec90
cycle 1
end
. -----------------------------------------
. MAIN macro: the introductory demo
. part 1 : subroutine procedures
. -----------------------------------------
procedure start
option MOUSE OFF
option ANIMFILL OFF
switch CURSOR OFF square 0
switch SHAPE OFF symbols 1
switch TILT OFF nc 0
pulse ROLL ON upward 30
switch CURSOR OFF square 13
update
switch PAVE ON
size ZONE Fitted
switch CURSOR OFF NC 0
position cursor center
size cursor to_ZoneH
switch SHAPE ON symbols 1
size shape dotsize
switch LINE ON apex 3
switch GO OFF
switch FILL OFF opaque 0
pulse ROLL ON upward 30
pulse SHRINK ON up&down 8
param global_tilt 0
set count 1
switch DRAW ON
update
end
procedure waitforlevel
pulse SHRINK NOT'ON
end
procedure beginloop
switch ROLL OFF
update
cycle 1
switch DRAW ON
position cursor center
switch SHAPE ON symbols 1
switch LINE ON apex 3
switch FILL OFF
size shape fullsize
pulse SHRINK ON upward
update
cycle 1
set phase 3
end
procedure expand
switch LINE ON solid 3
switch FILL ON opaque 0
pulse SHRINK ON downward
update
end
procedure edgeaction
pulse SHRINK OFF
cycle 1
. edge action setup
inc shape_tilt 30
set global_tilt 0
switch TILT ON
switch CURSOR OFF square 13
switch FILL ON
switch GO ON edge
switch LINE ON solid 14
switch PAVE ON fixed
switch SHAPE ON symbols 6
switch VEER OFF nc 270
pulse ROLL ON
position cursor TL
move cursor right
update
cycle 1
end
procedure shrink
. message Now shrinking
position cursor center
size cursor to_ZoneH
switch TILT OFF
switch LINE OFF solid 4
switch GO OFF
switch FILL OFF
pulse SHRINK ON upward
switch SHAPE ON symbols 1
pulse ROLL OFF
size shape fullsize
update
cycle 1
. message Shrinking complete
end
. determines start-up setup after demo
procedure exitmain
defaults
size zone workarea
menu Objects
position cursor center
update
delete workarea
option MOUSE ON
. option ANIMFILL ON
done
end
. -----------------------------------------
. MAIN macro: the introductory demo
. part 2 : macro body
. -----------------------------------------
. Macro named MAIN is automatically started
. by rotor.
. %phase%=0 standard initialization
macro main
when %phase%=0 do start
when %phase%=1 and fullsize do waitforlevel
when %phase%=2 and level do beginloop
when %phase%=3 and dotsize do expand
when %phase%=4 and fullsize do edgeaction
when %phase%=5 and TL do shrink
when %phase%>5 and dotsize do beginloop
if keypress do exitmain
end